package com.ruoyi.Warehouse.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 库存交易记录表对象 inventorytransactions
 * 
 * @author ruoyi
 * @date 2025-06-16
 */
public class Inventorytransactions extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /**  */
    private Long transactionId;

    /**  */
    @Excel(name = "")
    private Long cardId;

    /**  */
    @Excel(name = "")
    private Long warehouseId;

    /** 1-入库,2-出库,3-转移 */
    @Excel(name = "1-入库,2-出库,3-转移")
    private Long transactionType;

    /**  */
    @Excel(name = "")
    private Long quantity;

    /**  */
    @Excel(name = "")
    private BigDecimal unitPrice;

    /**  */
    @Excel(name = "")
    private BigDecimal totalValue;

    /** 交易对方 */
    @Excel(name = "交易对方")
    private String counterparty;

    /**  */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Excel(name = "", width = 30, dateFormat = "yyyy-MM-dd")
    private Date transactionDate;

    /**  */
    @Excel(name = "")
    private String operator;

    /**  */
    @Excel(name = "")
    private String notes;

    /**  */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Excel(name = "", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createdAt;

    public void setTransactionId(Long transactionId) 
    {
        this.transactionId = transactionId;
    }

    public Long getTransactionId() 
    {
        return transactionId;
    }

    public void setCardId(Long cardId) 
    {
        this.cardId = cardId;
    }

    public Long getCardId() 
    {
        return cardId;
    }

    public void setWarehouseId(Long warehouseId) 
    {
        this.warehouseId = warehouseId;
    }

    public Long getWarehouseId() 
    {
        return warehouseId;
    }

    public void setTransactionType(Long transactionType) 
    {
        this.transactionType = transactionType;
    }

    public Long getTransactionType() 
    {
        return transactionType;
    }

    public void setQuantity(Long quantity) 
    {
        this.quantity = quantity;
    }

    public Long getQuantity() 
    {
        return quantity;
    }

    public void setUnitPrice(BigDecimal unitPrice) 
    {
        this.unitPrice = unitPrice;
    }

    public BigDecimal getUnitPrice() 
    {
        return unitPrice;
    }

    public void setTotalValue(BigDecimal totalValue) 
    {
        this.totalValue = totalValue;
    }

    public BigDecimal getTotalValue() 
    {
        return totalValue;
    }

    public void setCounterparty(String counterparty) 
    {
        this.counterparty = counterparty;
    }

    public String getCounterparty() 
    {
        return counterparty;
    }

    public void setTransactionDate(Date transactionDate) 
    {
        this.transactionDate = transactionDate;
    }

    public Date getTransactionDate() 
    {
        return transactionDate;
    }

    public void setOperator(String operator) 
    {
        this.operator = operator;
    }

    public String getOperator() 
    {
        return operator;
    }

    public void setNotes(String notes) 
    {
        this.notes = notes;
    }

    public String getNotes() 
    {
        return notes;
    }

    public void setCreatedAt(Date createdAt) 
    {
        this.createdAt = createdAt;
    }

    public Date getCreatedAt() 
    {
        return createdAt;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("transactionId", getTransactionId())
            .append("cardId", getCardId())
            .append("warehouseId", getWarehouseId())
            .append("transactionType", getTransactionType())
            .append("quantity", getQuantity())
            .append("unitPrice", getUnitPrice())
            .append("totalValue", getTotalValue())
            .append("counterparty", getCounterparty())
            .append("transactionDate", getTransactionDate())
            .append("operator", getOperator())
            .append("notes", getNotes())
            .append("createdAt", getCreatedAt())
            .toString();
    }
}
